package io.chenglicun.common.trans.annotation;

import io.chenglicun.common.entity.BaseEntity;
import io.chenglicun.common.trans.service.impl.TransRepository;
import io.chenglicun.common.trans.service.impl.db.DbTransRepository;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 翻译
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface Trans {

    /**
     * 需要翻译的字段
     */
    String trans() default "";

    /**
     * key
     */
    String key() default "";

    /**
     * 是否是依赖
     */
    boolean depend() default false;

    /**
     * 数据库目标class
     */
    Class<? extends BaseEntity> entity() default BaseEntity.class;

    /**
     * 翻译数据获取仓库
     */
    Class<? extends TransRepository> using() default DbTransRepository.class;

}
